Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports DigiOffice.Integration.TBIXchangeAzure.Messages
Imports IDB.API.DTO.Document
Namespace Global
Namespace DigiOffice.Integration.TBIXchangeAzure.Messages
Public Partial Class Address
Public Overridable Property AddressLine1 As String
Public Overridable Property AddressLine2 As String
Public Overridable Property HouseNumber As String
Public Overridable Property HouseNumberSuffix As String
Public Overridable Property PostalCode As String
Public Overridable Property City As String
Public Overridable Property Country As Reference
End Class
Public Partial Class ConstructionBlock
Public Sub New()
CustomFields = New CustomField(){}
End Sub
Public Overridable Property GlobalID As String
Public Overridable Property ProjectReference As Reference
Public Overridable Property Code As String
Public Overridable Property Description As String
Public Overridable Property CustomFields As CustomField()
Public Overridable Property CreationDate As Nullable(Of Date)
Public Overridable Property CreatedBy As String
Public Overridable Property ModifiedDate As Nullable(Of Date)
Public Overridable Property ModifiedBy As String
End Class
Public Partial Class ConstructionNumber
Public Sub New()
CustomFields = New CustomField(){}
End Sub
Public Overridable Property GlobalID As String
Public Overridable Property ProjectReference As Reference
Public Overridable Property HousingTypeReference As Reference
Public Overridable Property ConstructionBlockReference As Reference
Public Overridable Property Code As String
Public Overridable Property Description As String
Public Overridable Property Address As Address
Public Overridable Property RentalHouse As Boolean
Public Overridable Property GuaranteeCertificateNumber As String
Public Overridable Property Inactive As Boolean
Public Overridable Property CustomFields As CustomField()
Public Overridable Property CreationDate As Nullable(Of Date)
Public Overridable Property CreatedBy As String
Public Overridable Property ModifiedDate As Nullable(Of Date)
Public Overridable Property ModifiedBy As String
Public Overridable Property ViewingDate As Nullable(Of Date)
Public Overridable Property ViewingDateSpecified As Boolean
Public Overridable Property DeliveryDate As Nullable(Of Date)
Public Overridable Property DeliveryDateSpecified As Boolean
End Class
Public Partial Class CustomField
Public Overridable Property Name As String
Public Overridable Property Value As String
End Class
Public Partial Class Header
Public Overridable Property MessageID As String
Public Overridable Property Timestamp As Date
Public Overridable Property Sender As Party
Public Overridable Property Recipient As Party
Public Overridable Property RequestMessageID As Object
Public Partial Class Party
Public Overridable Property Title As String
Public Overridable Property Code As String
Public Overridable Property Version As String
Public Overridable Property Environment As Environment
End Class
Public Partial Class Environment
Public Overridable Property Title As String
Public Overridable Property Code As String
End Class
End Class
Public Partial Class HousingType
Public Sub New()
CustomFields = New CustomField(){}
End Sub
Public Overridable Property GlobalID As String
Public Overridable Property ProjectReference As Reference
Public Overridable Property Code As String
Public Overridable Property Description As String
Public Overridable Property CustomFields As CustomField()
Public Overridable Property CreationDate As Nullable(Of Date)
Public Overridable Property CreatedBy As String
Public Overridable Property ModifiedDate As Nullable(Of Date)
Public Overridable Property ModifiedBy As String
End Class
Public Partial Class MailingAddress
Public Overridable Property POBox As String
Public Overridable Property PostalCode As String
Public Overridable Property City As String
Public Overridable Property Country As Reference
End Class
Public Partial Class ProcessProjectRequestMessage
Public Overridable Property InstanceId As Guid
Public Overridable Property ProjectRequest As ProjectRequestMessage
End Class
Public Partial Class Project
Public Sub New()
CustomFields = New CustomField(){}
End Sub
Public Overridable Property GlobalID As String
Public Overridable Property CreationDate As Nullable(Of Date)
Public Overridable Property CreatedBy As String
Public Overridable Property ModifiedDate As Nullable(Of Date)
Public Overridable Property ModifiedBy As String
Public Overridable Property Code As String
Public Overridable Property Name As String
Public Overridable Property Description1 As String
Public Overridable Property Description2 As String
Public Overridable Property Address As Address
Public Overridable Property MailingAddress As MailingAddress
Public Overridable Property ProjectCategoryReference As Reference
Public Overridable Property ProjectTypeReference As Reference
Public Overridable Property ProjectStatusReference As Reference
Public Overridable Property StartDate As Nullable(Of Date)
Public Overridable Property EndDate As Nullable(Of Date)
Public Overridable Property CompletionDate As Nullable(Of Date)
Public Overridable Property Inactive As Boolean
Public Overridable Property Website As String
Public Overridable Property IsTemplateProject As Boolean
Public Overridable Property CustomFields As CustomField()
End Class
Public Partial Class ProjectRequestMessage
Public Overridable Property Header As Header
Public Overridable Property ProjectReference As Reference
Public Overridable Property IncludeHousingTypes As Boolean
Public Overridable Property IncludeConstructionBlocks As Boolean
Public Overridable Property IncludeConstructionNumbers As Boolean
Public Overridable Property IncludeDocuments As Boolean
Public Overridable Property IncludePurchaseContracts As Boolean
End Class
Public Partial Class ProjectResponseMessage
Public Sub New()
HousingTypes = New HousingType(){}
ConstructionBlocks = New ConstructionBlock(){}
ConstructionNumbers = New ConstructionNumber(){}
Documents = New Document(){}
PurchaseContracts = New PurchaseContract(){}
End Sub
Public Overridable Property Header As Header
Public Overridable Property ProjectReference As Reference
Public Overridable Property Project As Project
Public Overridable Property HousingTypes As HousingType()
Public Overridable Property ConstructionBlocks As ConstructionBlock()
Public Overridable Property ConstructionNumbers As ConstructionNumber()
Public Overridable Property Documents As Document()
Public Overridable Property PurchaseContracts As PurchaseContract()
End Class
Public Partial Class PurchaseContract
Public Sub New()
CustomFields = New CustomField(){}
End Sub
Public Overridable Property GlobalID As String
Public Overridable Property Code As String
Public Overridable Property Description As String
Public Overridable Property ProjectReference As Reference
Public Overridable Property ProductCode As String
Public Overridable Property Relation As Relation
Public Overridable Property Inactive As Boolean
Public Overridable Property CustomFields As CustomField()
Public Overridable Property CreationDate As Nullable(Of Date)
Public Overridable Property CreatedBy As String
Public Overridable Property ModifiedDate As Nullable(Of Date)
Public Overridable Property ModifiedBy As String
End Class
Public Partial Class Reference
Public Overridable Property GlobalID As String
Public Overridable Property Title As String
End Class
Public Partial Class Relation
Public Sub New()
CustomFields = New CustomField(){}
End Sub
Public Overridable Property GlobalID As String
Public Overridable Property NameLine1 As String
Public Overridable Property NameLine2 As String
Public Overridable Property Address As Address
Public Overridable Property MailingAddress As MailingAddress
Public Overridable Property Telephone As String
Public Overridable Property Mobile As String
Public Overridable Property Email As String
Public Overridable Property IBAN As String
Public Overridable Property BankAccountNumber As String
Public Overridable Property Website As String
Public Overridable Property Inactive As Boolean
Public Overridable Property CustomFields As CustomField()
Public Overridable Property CreationDate As Nullable(Of Date)
Public Overridable Property CreatedBy As String
Public Overridable Property ModifiedDate As Nullable(Of Date)
Public Overridable Property ModifiedBy As String
End Class
End Namespace
Namespace IDB.API.DTO.Document
Public Partial Class Document
Implements ICustomProperties
Public Sub New()
CustomProperties = New Dictionary(Of String, Object)
End Sub
Public Overridable Property ID As Guid
Public Overridable Property RootDocumentID As Guid
Public Overridable Property RegistrationprofileID As Guid
Public Overridable Property Title As String
Public Overridable Property FullTitle As String
Public Overridable Property Number As String
Public Overridable Property Version As String
Public Overridable Property ExternalNumber As String
Public Overridable Property ExternalVersion As String
Public Overridable Property InternalNumber As String
Public Overridable Property InternalInvoiceNumber As String
Public Overridable Property PersonID As Integer
Public Overridable Property RelationID As Integer
Public Overridable Property RelationTitle As String
Public Overridable Property ProjectID As Integer
Public Overridable Property ProjectTitle As String
Public Overridable Property Extension As String
Public Overridable Property [Date] As Nullable(Of Date)
Public Overridable Property CommentsCount As Integer
Public Overridable Property HasComments As Boolean
Public Overridable Property HasPreview As Boolean
Public Overridable Property ExtraField As String
Public Overridable Property IsFavorite As Boolean
Public Overridable Property DocumentcategoryText As String
Public Overridable Property FileSize As Nullable(Of Long)
Public Overridable Property FileDate As Nullable(Of Date)
Public Overridable Property Hash As String
Public Overridable Property HashType As String
Public Overridable Property FileUrl As String
Public Overridable Property StandardDocumentUrl As String
Public Overridable Property IsCorporateIdentity As Boolean
Public Overridable Property UserTitle As String
Public Overridable Property IsFrozen As Boolean
Public Overridable Property InternalCompanyID As Integer
Public Overridable Property DirectUrl As String
Public Overridable Property AllowDigitalSigningOnlyOnPrimaryVersions As Boolean
Public Overridable Property IsPrimaryVersion As Boolean
Public Overridable Property FileExtension As String
Public Overridable Property CustomProperties As Dictionary(Of String, Object)
End Class
End Namespace
End Namespace
VB.NET ProcessProjectRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/ProcessProjectRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ProcessProjectRequestMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
<InstanceId>00000000-0000-0000-0000-000000000000</InstanceId>
<ProjectRequest>
<Header>
<MessageID>String</MessageID>
<Recipient>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Recipient>
<RequestMessageID />
<Sender>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Sender>
<Timestamp>0001-01-01T00:00:00</Timestamp>
</Header>
<IncludeConstructionBlocks>false</IncludeConstructionBlocks>
<IncludeConstructionNumbers>false</IncludeConstructionNumbers>
<IncludeDocuments>false</IncludeDocuments>
<IncludeHousingTypes>false</IncludeHousingTypes>
<IncludePurchaseContracts>false</IncludePurchaseContracts>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</ProjectRequest>
</ProcessProjectRequestMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ProjectResponseMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
<ConstructionBlocks>
<ConstructionBlock>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</ConstructionBlock>
</ConstructionBlocks>
<ConstructionNumbers>
<ConstructionNumber>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<Code>String</Code>
<ConstructionBlockReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionBlockReference>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
<DeliveryDateSpecified>false</DeliveryDateSpecified>
<Description>String</Description>
<GlobalID>String</GlobalID>
<GuaranteeCertificateNumber>String</GuaranteeCertificateNumber>
<HousingTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</HousingTypeReference>
<Inactive>false</Inactive>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<RentalHouse>false</RentalHouse>
<ViewingDate>0001-01-01T00:00:00</ViewingDate>
<ViewingDateSpecified>false</ViewingDateSpecified>
</ConstructionNumber>
</ConstructionNumbers>
<Documents>
<Document>
<Code>String</Code>
<ConstructionBlockReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionBlockReference>
<ConstructionNumberReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionNumberReference>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<DeletedDate>0001-01-01T00:00:00</DeletedDate>
<DeletedDateSpecified>false</DeletedDateSpecified>
<DocumentTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</DocumentTypeReference>
<File>
<Content>String</Content>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<Name>String</Name>
<Size>0</Size>
<Type>String</Type>
</File>
<Floor>0</Floor>
<FloorSpecified>false</FloorSpecified>
<GlobalID>String</GlobalID>
<HousingTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</HousingTypeReference>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<NewestVersion>false</NewestVersion>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<RelationReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</RelationReference>
<RootDocumentID>String</RootDocumentID>
<Subject>String</Subject>
<VersionNumber>String</VersionNumber>
</Document>
</Documents>
<Header>
<MessageID>String</MessageID>
<Recipient>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Recipient>
<RequestMessageID />
<Sender>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Sender>
<Timestamp>0001-01-01T00:00:00</Timestamp>
</Header>
<HousingTypes>
<HousingType>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</HousingType>
</HousingTypes>
<Project>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<Code>String</Code>
<CompletionDate>0001-01-01T00:00:00</CompletionDate>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description1>String</Description1>
<Description2>String</Description2>
<EndDate>0001-01-01T00:00:00</EndDate>
<GlobalID>String</GlobalID>
<Inactive>false</Inactive>
<IsTemplateProject>false</IsTemplateProject>
<MailingAddress>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<POBox>String</POBox>
<PostalCode>String</PostalCode>
</MailingAddress>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<Name>String</Name>
<ProjectCategoryReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectCategoryReference>
<ProjectStatusReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectStatusReference>
<ProjectTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectTypeReference>
<StartDate>0001-01-01T00:00:00</StartDate>
<Website>String</Website>
</Project>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<PurchaseContracts>
<PurchaseContract>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<Inactive>false</Inactive>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProductCode>String</ProductCode>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<Relation>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<BankAccountNumber>String</BankAccountNumber>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Email>String</Email>
<GlobalID>String</GlobalID>
<IBAN>String</IBAN>
<Inactive>false</Inactive>
<MailingAddress>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<POBox>String</POBox>
<PostalCode>String</PostalCode>
</MailingAddress>
<Mobile>String</Mobile>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<NameLine1>String</NameLine1>
<NameLine2>String</NameLine2>
<Telephone>String</Telephone>
<Website>String</Website>
</Relation>
</PurchaseContract>
</PurchaseContracts>
</ProjectResponseMessage>